package com.cn.ant.modules.school.entity;

import com.cn.ant.common.persistence.MyDataEntity;
import com.cn.ant.common.utils.excel.annotation.ExcelField;
import com.cn.ant.modules.score.entity.LqSchool;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * 学校信息Entity
 * @author AntDream
 * @version 2015-08-14
 */
public class School extends MyDataEntity<School> {
	
	private static final long serialVersionUID = 1L;
	private String schoolCode;		// 国标
	private String schoolCodeSn;		// 省标
	private String schoolName;		// 学校名称
	private String buildDate;		// 创建时间
	private String schoolLogo;		// 学校logo
	private String schoolBanner;		// 学校宣传图
	private String provice;		// 省
	private String city;		// 市
	private String flag211;		// 是否211
	private String flag985;		// 是否985
	private String flagGuo;		// 国防生
	private String flagYan;		// 研究生院
	private String flagZhuo;		// 卓越计划
	private String flagZi;		// 自主招生
	private String masterPoint;		// 硕士点
	private String doctorPoint;		// 博士点
	private String zdxkNum;		// 重点学科数量
	private String teseMajor;		// 特色专业
	private String zdMajor;		// 重点专业
	private String male;		// 男生比例
	private String female;		// 女生比例
	private String maleFemale;		// 男女比例
	private String owns;		// 隶属
	private String schoolType;		// 学校类型(综合，财经)
	private String bxType;		// 办学性质（公办,民办)
	private String schoolUrl;		// 学校网址
	private String zsUrl;		// 招生网址
	private String schoolAddr;		// 地址
	private String schoolTel;		// 电话
	private String schoolDesc;		// 简介
	private String tuitionInfo;		// 学费信息
	private String employInfo;		// 就业情况
	private String zszcInfo;		// 招生章程
	private int schoolRanking;		// 名次
	private int schoolWenRank;		//文科名次
	private String schoolLabels;		// 标签

	private List<SchoolMajor> schoolMajorList;

	private List<LqSchool> lqSchoolList;//学校录取线

	private String provinceName;//省份名称s
	private String provenceCode;//省份编码

	private String cityName; //城市名称

	public School() {
		super();
	}

	public School(String id){
		super(id);
	}

	@Length(min=0, max=32, message="国标长度必须介于 0 和 32 之间")
	@ExcelField(title = "学校国标", align = 0, sort = 20, type = 0)
	public String getSchoolCode() {
		return schoolCode;
	}

	public void setSchoolCode(String schoolCode) {
		this.schoolCode = schoolCode;
	}
	
	@Length(min=0, max=20, message="省标长度必须介于 0 和 20 之间")
	@ExcelField(title = "学校省标", align = 0, sort = 30, type = 0)
	public String getSchoolCodeSn() {
		return schoolCodeSn;
	}

	public void setSchoolCodeSn(String schoolCodeSn) {
		this.schoolCodeSn = schoolCodeSn;
	}
	
	@Length(min=0, max=64, message="学校名称长度必须介于 0 和 64 之间")
	@ExcelField(title = "学校名称", align = 0, sort = 10, type = 0)
	public String getSchoolName() {
		return schoolName;
	}

	public void setSchoolName(String schoolName) {
		this.schoolName = schoolName;
	}
	
	@Length(min=0, max=20, message="创建时间长度必须介于 0 和 20 之间")
	@ExcelField(title = "创建时间", align = 0, sort = 120, type = 0)
	public String getBuildDate() {
		return buildDate;
	}

	public void setBuildDate(String buildDate) {
		this.buildDate = buildDate;
	}
	
	@Length(min=0, max=128, message="学校logo长度必须介于 0 和 128 之间")
	@ExcelField(title = "学校logo", align = 0, sort = 100, type = 0)
	public String getSchoolLogo() {
		return schoolLogo;
	}

	public void setSchoolLogo(String schoolLogo) {
		this.schoolLogo = schoolLogo;
	}
	
	@Length(min=0, max=128, message="学校宣传图长度必须介于 0 和 128 之间")
	@ExcelField(title = "学校宣传图", align = 0, sort = 110, type = 0)
	public String getSchoolBanner() {
		return schoolBanner;
	}

	public void setSchoolBanner(String schoolBanner) {
		this.schoolBanner = schoolBanner;
	}

	public String getProvice() {
		return provice;
	}

	public void setProvice(String provice) {
		this.provice = provice;
	}

	@ExcelField(title = "省份编码", align = 0, sort = 55, type = 0,value = "provice.code")
	public String getProvenceCode() {
		return provenceCode;
	}

	public void setProvenceCode(String provenceCode) {
		this.provenceCode = provenceCode;
	}

	@ExcelField(title = "省份名称", align = 0, sort = 50, type = 0,value = "provice.name")
	public String getProvinceName() {
		return provinceName;
	}

	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}
	
	@Length(min=0, max=4, message="是否211长度必须介于 0 和 4 之间")
	@ExcelField(title = "是否211", align = 0, sort = 130, type = 0)
	public String getFlag211() {
		return flag211;
	}

	public void setFlag211(String flag211) {
		this.flag211 = flag211;
	}
	
	@Length(min=0, max=4, message="是否985长度必须介于 0 和 4 之间")
	@ExcelField(title = "是否985", align = 0, sort = 140, type = 0)
	public String getFlag985() {
		return flag985;
	}

	public void setFlag985(String flag985) {
		this.flag985 = flag985;
	}
	
	@Length(min=0, max=4, message="国防生长度必须介于 0 和 4 之间")
	@ExcelField(title = "是否国防生", align = 0, sort = 150, type = 0)
	public String getFlagGuo() {
		return flagGuo;
	}

	public void setFlagGuo(String flagGuo) {
		this.flagGuo = flagGuo;
	}
	
	@Length(min=0, max=4, message="研究生院长度必须介于 0 和 4 之间")
	@ExcelField(title = "是否研究生院", align = 0, sort = 160, type = 0)
	public String getFlagYan() {
		return flagYan;
	}

	public void setFlagYan(String flagYan) {
		this.flagYan = flagYan;
	}
	
	@Length(min=0, max=4, message="卓越计划长度必须介于 0 和 4 之间")
	@ExcelField(title = "是否卓越计划", align = 0, sort = 170, type = 0)
	public String getFlagZhuo() {
		return flagZhuo;
	}

	public void setFlagZhuo(String flagZhuo) {
		this.flagZhuo = flagZhuo;
	}
	
	@Length(min=0, max=4, message="自主招生长度必须介于 0 和 4 之间")
	@ExcelField(title = "是否自主招生", align = 0, sort = 180, type = 0)
	public String getFlagZi() {
		return flagZi;
	}

	public void setFlagZi(String flagZi) {
		this.flagZi = flagZi;
	}
	
	@Length(min=0, max=11, message="硕士点长度必须介于 0 和 11 之间")
	@ExcelField(title = "硕士点", align = 0, sort = 190, type = 0)
	public String getMasterPoint() {
		return masterPoint;
	}

	public void setMasterPoint(String masterPoint) {
		this.masterPoint = masterPoint;
	}
	
	@Length(min=0, max=11, message="博士点长度必须介于 0 和 11 之间")
	@ExcelField(title = "博士点", align = 0, sort = 200, type = 0)
	public String getDoctorPoint() {
		return doctorPoint;
	}

	public void setDoctorPoint(String doctorPoint) {
		this.doctorPoint = doctorPoint;
	}
	
	@Length(min=0, max=11, message="重点学科数量长度必须介于 0 和 11 之间")
	@ExcelField(title = "重点学科", align = 0, sort = 210, type = 0)
	public String getZdxkNum() {
		return zdxkNum;
	}

	public void setZdxkNum(String zdxkNum) {
		this.zdxkNum = zdxkNum;
	}
	
	public String getTeseMajor() {
		return teseMajor;
	}

	public void setTeseMajor(String teseMajor) {
		this.teseMajor = teseMajor;
	}
	
	public String getZdMajor() {
		return zdMajor;
	}

	public void setZdMajor(String zdMajor) {
		this.zdMajor = zdMajor;
	}

	@ExcelField(title = "男生比例", align = 0, sort = 240, type = 0)
	public String getMale() {
		return male;
	}

	public void setMale(String male) {
		this.male = male;
	}

	@ExcelField(title = "女生比例", align = 0, sort = 250, type = 0)
	public String getFemale() {
		return female;
	}

	public void setFemale(String female) {
		this.female = female;
	}
	
	@Length(min=0, max=10, message="男女比例长度必须介于 0 和 10 之间")
	public String getMaleFemale() {
		return maleFemale;
	}

	public void setMaleFemale(String maleFemale) {
		this.maleFemale = maleFemale;
	}
	
	@Length(min=0, max=32, message="隶属长度必须介于 0 和 32 之间")
	@ExcelField(title = "隶属", align = 0, sort = 90, type = 0)
	public String getOwns() {
		return owns;
	}

	public void setOwns(String owns) {
		this.owns = owns;
	}
	
	@Length(min=0, max=32, message="学校类型(综合，财经)长度必须介于 0 和 32 之间")
	@ExcelField(title = "学校类型", align = 0, sort = 70, type = 0,dictType = "school_type")
	public String getSchoolType() {
		return schoolType;
	}

	public void setSchoolType(String schoolType) {
		this.schoolType = schoolType;
	}
	
	@Length(min=0, max=32, message="办学性质（公办,民办)长度必须介于 0 和 32 之间")
	@ExcelField(title = "办学性质", align = 0, sort = 60, type = 0,dictType = "bx_type")
	public String getBxType() {
		return bxType;
	}

	public void setBxType(String bxType) {
		this.bxType = bxType;
	}
	
	@ExcelField(title = "学校网址", align = 0, sort = 260, type = 0)
	public String getSchoolUrl() {
		return schoolUrl;
	}

	public void setSchoolUrl(String schoolUrl) {
		this.schoolUrl = schoolUrl;
	}
	
	@ExcelField(title = "招生网址", align = 0, sort = 270, type = 0)
	public String getZsUrl() {
		return zsUrl;
	}

	public void setZsUrl(String zsUrl) {
		this.zsUrl = zsUrl;
	}
	
	@Length(min=0, max=128, message="地址长度必须介于 0 和 128 之间")
	@ExcelField(title = "地址", align = 0, sort = 280, type = 0)
	public String getSchoolAddr() {
		return schoolAddr;
	}

	public void setSchoolAddr(String schoolAddr) {
		this.schoolAddr = schoolAddr;
	}
	
	@Length(min=0, max=20, message="电话长度必须介于 0 和 20 之间")
	@ExcelField(title = "电话", align = 0, sort = 290, type = 0)
	public String getSchoolTel() {
		return schoolTel;
	}

	public void setSchoolTel(String schoolTel) {
		this.schoolTel = schoolTel;
	}
	
	public String getSchoolDesc() {
		return schoolDesc;
	}

	public void setSchoolDesc(String schoolDesc) {
		this.schoolDesc = schoolDesc;
	}
	
	public String getTuitionInfo() {
		return tuitionInfo;
	}

	public void setTuitionInfo(String tuitionInfo) {
		this.tuitionInfo = tuitionInfo;
	}
	
	public String getEmployInfo() {
		return employInfo;
	}

	public void setEmployInfo(String employInfo) {
		this.employInfo = employInfo;
	}
	
	public String getZszcInfo() {
		return zszcInfo;
	}

	public void setZszcInfo(String zszcInfo) {
		this.zszcInfo = zszcInfo;
	}
	
	@Length(min=0, max=11, message="名次长度必须介于 0 和 11 之间")
	@ExcelField(title = "名次", align = 0, sort = 1, type = 0)
	public int getSchoolRanking() {
		return schoolRanking;
	}

	public void setSchoolRanking(int schoolRanking) {
		this.schoolRanking = schoolRanking;
	}

	public int getSchoolWenRank() {
		return schoolWenRank;
	}

	public void setSchoolWenRank(int schoolWenRank) {
		this.schoolWenRank = schoolWenRank;
	}

	@ExcelField(title = "重点学科", align = 0, sort = 220, type = 0)
	public String getSchoolLabels() {
		return schoolLabels;
	}

	public void setSchoolLabels(String schoolLabels) {
		this.schoolLabels = schoolLabels;
	}

    public List<SchoolMajor> getSchoolMajorList() {
        return schoolMajorList;
    }

    public void setSchoolMajorList(List<SchoolMajor> schoolMajorList) {
        this.schoolMajorList = schoolMajorList;
    }

	public List<LqSchool> getLqSchoolList() {
		return lqSchoolList;
	}

	public void setLqSchoolList(List<LqSchool> lqSchoolList) {
		this.lqSchoolList = lqSchoolList;
	}

	public String getCityName() {
		return cityName;
	}

	public void setCityName(String cityName) {
		this.cityName = cityName;
	}
}